export {};

/*
 泛型约束
 限制类型选择的范围

 1. 指定更加具体的类型
 2. 添加约束
  1. 先定义需要约束的接口
  2. 泛型T 继承了 该接口
  3. 调用时候就必须要有约束的属性
*/

interface Ilength {
  length: number;
}
const id = <T extends Ilength>(value: T): T => {
  console.log(value.length);
  return value;
};

id("str");
id([1]);
// id(10);
